\mysection{Prozessabläufe}
\label{konzept:sec:ablaeufe}
In den vorherigen Abschnitten haben wir erläutert, wie wir anhand der
Dringlichkeit einer Nachricht entscheiden, in welcher Art wir die Nachricht
präsentieren(\ref{konzept:sec:konzept_wichtigkeit_dringlichkeit}) und wie wir
die persönliche Dringlichkeit der Benutzer erfassen wollen. Darauf folgend wurde
beschrieben, wie die passenden Geräte für die Präsentation unter Beachtung der
gewählten Präsentationsart ausgesucht
werden(\ref{konzept:sec:konzept_geraeteauswahl}). Die Einbettung dieser beiden
Entscheidungsberechnungen in das Benachrichtigungssystem wird nun im
Zusammenhang mit dem allgemeinen Prozessablauf der Benachrichtigung erläutert.
Darauf folgt die Skizzierung des Prozessablaufes der Reaktion des Benutzers
auf eine Benachrichtigung. Diese beiden Abläufe entsprechen zwei der Parameter,mit denen Benachrichtigungssysteme laut \citet{McCrickard:2003} zu tun haben.Der erste Ablauf ist die Unterbrechung des Benutzers durch die Benachrichtigung,der zweite die Reaktion auf diese Benachrichtigung.
\mysubsection{Benachrichtigung des Benutzers}
\label{konzept:subsec:konzept_architektur_benachrichtigung}
Dieser Abschnitt erläutert den Prozessablauf zum Benachrichtigen eines
Benutzers. Wir beschreiben also den Weg, den eine Benachrichtigung von der
Generierung durch die Quelle bis zur Präsentation für den Benutzer geht. Dieser
Ablauf ist in Abbildung \ref{fig:Prozessablauf_User_benachrichtigen} zu sehen.
Die Beschreibung erfolgt schrittweise analog zu den Schritten in der Abbildung,
so dass man die Erklärungen leicht in dieser wiederfinden kann.
\begin{figure}[htb]
\centering
\includegraphics[width=\textwidth]{images/Prozessablauf_User_benachrichtigen}
\caption{Prozessablauf für das Benachrichtigen des Benutzers}
\label{fig:Prozessablauf_User_benachrichtigen}
\end{figure}

\mysubsubsection{Schritte 1 und 2: Erstellen und Übergabe der Nachricht an das
Benachrichtigungssystem}
\label{konzept:subsubsec:ablauf_benachrichtigung_erstellung}
Als Ausgangspunkt dient natürlich die Nachrichtenquelle. Dies können sowohl
Geräte als auch Anwendungen sein. Diese Quelle erstellt die Nachricht und
ü"-ber"-gibt sie mit den in Abschnitt
\ref{konzept:subsubsec:registrierung_nachrichten} beschriebenen Parametern an
das Benachrichtigungssystem.

\mysubsubsection{Schritte 3: Weiterleitung an Entscheidungsengine}
\label{konzept:subsubsec:ablauf_benachrichtigung_weiterleiten_an_benachrichtigungssystem}
Das Benachrichtigungssystem leitet nun alle Parameter an die Entscheidungsengine
weiter und beauftragt diese damit, alle notwendigen Entscheidungen zu treffen.
Die Entscheidungsengine besteht ihrerseits aus einem zentralen Controller
sowie den verschiedenen Modulen für verschiedene Entscheidungen. Dies sind die
bereits beschriebenen Entscheidungen zur Auswahl der Präsentationsart und der
Geräte.

\mysubsubsection{Schritte 4 bis 6: Auswahl der Präsentationsart}
\label{konzept:subsubsec:ablauf_benachrichtigung_auswahl_praesentation}
Die erste Entscheidung betrifft die Präsentationsart. Dazu ruft der Controller
der Entscheidungsengine in Schritt 4 das Modul zur Auswahl der Präsentationsart
auf. Dabei übergibt er ebenfalls alle Parameter, namentlich die Quellen- und
Nachrichtenkategorien-ID sowie den Benachrichtigungszeitpunkt. Anhand dieser
kann das Modul nun in Schritt 5 die Standard-Dringlichkeit ermitteln, die bei der
Registrierung durch die Nachrichtenquelle angegeben wurde(s. Abschnitt
\ref{konzept:subsubsec:registrierung_nachrichten}). Zusätzlich kann das Modul
damit die vom Benutzer angegebenen persönlichen Werte(s. Abschnitt
\ref{konzept:subsubsec:angabe_wichtigkeit_dringlichkeit_benutzer}) ermitteln und
dann den tatsächlich zu benutzenden Wert für die Dringlichkeit berechnen(s.
Abschnitt \ref{konzept:subsubsec:angabe_wichtigkeit_dringlichkeit_benutzer}).
Mit diesen Werten ermittelt das Modul nun die zu wählende Präsentationsart mit
Hilfe der in Abschnitt \ref{konzept:subsubsec:ergebnis_des_fragebogens}
vorgestellten Tabelle. Nach Ermittlung der Präsentationsart wird diese in
Schritt 6 an den Controller zurückgegeben.

\mysubsubsection{Schritte 7 bis 9: Auswahl der Geräte}
\label{konzept:subsubsec:ablauf_benachrichtigung_auswahl_geraete}
Nachdem der Controller die Präsentationsart vom entsprechenden Auswahlmodul
erhalten hat, ruft er das Modul für die nächste Auswahl, die Geräteauswahl, auf.
In Schritt 7 übergibt er dafür die zuvor erhaltene Präsentationsart an das
Modul, da diese die Auswahlgrundlage darstellt. Im nächsten Schritt 8 erfragt
das Modul dann Zustandsinformationen über den Benutzer und die registrierten
Geräte beim \smartHomeSystem. Mit all diesen Informationen kann das Modul
dann, wie in Abschnitt \ref{konzept:sec:konzept_geraeteauswahl} beschrieben,
eine Auswahl über das oder die zu verwendenden Geräte treffen. Im Schritt 9 gibt das
Modul die gewählten Geräte an den Controller zurück, damit dieser den
Entscheidungsprozess abschließen kann.

\mysubsubsection{Schritt 10: Bekanntgabe der Entscheidungen an das
Benachrichtigungssystem}
\label{konzept:subsubsec:ablauf_benachrichtigung_bekanntgabe_entscheidungen}
Im zehnten Schritt hat der Controller der Entscheidungsengine alle notwendigen
Entscheidungen der Module gesammelt und übergibt diese an das
Benachrichtigungssystem.

\mysubsubsection{Schritt 11: Benachrichtigungsauftrag}
\label{konzept:subsubsec:ablauf_benachrichtigung_auftrag}
Mit den Entscheidungen der Entscheidungsengine setzt das Benachrichtigungssystem
nun einen Benachrichtigungsauftrag zusammen und übergibt diesen an das
\smartHomeSystem. Damit wird dem \smartHomeSystem mitgeteilt, auf welchen
Geräten es die Nachricht in welcher Art anzeigen soll.

\mysubsubsection{Schritte 12 und 13: Präsentation der Benachrichtigung}
\label{konzept:subsubsec:ablauf_benachrichtigung_praesentation}
Mit den Informationen aus dem Benachrichtigungsauftrag erzeugt das
\smartHomeSystem in Schritt 12 die Ausgabe der Benachrichtigung. Wenn diese
Erzeugung abgeschlossen ist, wird der Benutzer in Schritt 13 auf den zuvor
gewählten Geräten in der zuvor gewählten Art benachrichtigt.

\mysubsubsection{Permanente Schritte}
\label{konzept:subsubsec:ablauf_benachrichtigung_permanente_schritte}
In Prozessablauf \ref{fig:Prozessablauf_User_benachrichtigen} sind noch zwei
weitere, als "`permanent"' gekennzeichnete Schritte, zu sehen. Einer dieser
Schritte ist die Erfassung der Zustandsinformationen des Benutzers. Dies erfolgt
permanent, mit Hilfe diverser Sensoren, durch das \smartHomeSystem. Der zweite
permanente Schritt ist die Angabe von Benutzerpräferenzen durch den Benutzer
selbst. Der Benutzer hat permanent die Möglichkeit, seine persönlichen
Dringlichkeiten anzugeben, wie es in Abschnitt
\ref{konzept:subsubsec:angabe_wichtigkeit_dringlichkeit_benutzer} beschrieben
wurde.

\mysubsection{Reaktion auf eine Benachrichtigung}
\label{konzept:subsec:konzept_architektur_anzeige_nachricht}
Nachdem der Benutzer benachrichtigt wurde, dass neue Nachrichten für ihn
vorliegen, kann der Benutzer entscheiden, ob er über ein Interaktionsgerät auf
die Benachrichtigung reagieren möchte. Als Interaktionsgeräte bezeichnen wir
solche Geräte, die geeignete Benutzerein- und -ausgabeschnittstellen bieten.
Dies wären zum Beispiel Touchpanel, Fernseher mit Navigationselementen auf der
Fernbedienung oder Mikrofone für sprachliche Eingabebefehle in Verbindung mit
Bildschirmen oder Lautsprechern, um den Benutzer Feedback über die geäußerten
Befehle zu geben. Eine Farb- oder Helligkeitssteuerung an Lampen wäre dagegen
ein Beispiel für ungeeignete Schnittstellen. Solche Steuerungen sind oft nur
dafür konzipiert, eben diese Parameter(Farbe oder Helligkeit) zu verändern.
\\
In diesem Abschnitt wollen wir nun veranschaulichen, wie die Interaktion des
Benutzers mit der Benachrichtigung abläuft. Dabei beziehen wir nicht die Zeit
zwischen Benachrichtigung und Reaktion des Benutzers mit ein. Dies bedeutet,
dass unser vorgestellter Ablauf zu dem Zeitpunkt startet, wenn die Interaktion mit
der Benachrichtigung bzw. einem Interaktionsgerät vom Benutzer begonnen wird.
Es ist egal ob er sofort reagiert oder erst nach mehreren Minuten. Ein gewisser
Abstand zwischen Benachrichtigung und Reaktion könnte z.B. dadurch auftreten, dass die
Benachrichtigung mit einem Gerät präsentiert wird, das keine
Benutzereingabeschnittstellen bietet. In diesem Fall muss sich der Benutzer erst
ein geeignetes Interaktionsgerät suchen.
\\
Der Ablauf ist in Abbildung \ref{fig:Prozessablauf_Nachricht_anzeigen}
dargestellt. Ebenso wie in Abschnitt
\ref{konzept:subsec:konzept_architektur_benachrichtigung} werden wir die in der
Abbildung gekennzeichneten Schritte nun erklären. Dabei gibt es zwei
verschiedene Pfade, einen roten und einen grünen. Der rote Pfad beschreibt den
Ablauf, wenn der Benutzer sich eine Nachricht anzeigen lassen möchte. Im
Gegensatz dazu zeigt der grüne Pfad den Ablauf, wenn der Benutzer zwar auf eine
Benachrichtigung reagiert, die entsprechende Nachricht aber nicht direkt
anschauen möchte. Diesen Pfad werden wir zum Schluss im Ganzen erklären,
da er sehr kurz ist. Als erstes folgt nun aber die schrittweise Erläuterung des
roten Pfades.
\begin{figure}[htb] \centering
\includegraphics[width=\textwidth]{images/Prozessablauf_Nachricht_anzeigen}
\caption{Prozessablauf für die Interaktion mit Benachrichtigungen}
\label{fig:Prozessablauf_Nachricht_anzeigen}
\end{figure}

\mysubsubsection{Schritt 1: Anzeige von Nachricht gewählt}
\label{konzept:subsubsec:ablauf_interaktion_nachrichtenwahl}
Im ersten Schritt muss der Benutzer dem Benachrichtigungssystem über ein
Interaktionsgerät mitteilen, dass er eine Nachricht angezeigt bekommen möchte.
Wenn der Benutzer zur Interaktion das Gerät gewählt hat, das auch die
Benachrichtigung präsentiert hat, kann er als direkte Reaktion die zugehörige
Nachricht anzeigen lassen. Ist die Benachrichtigung beispielsweise ein Symbol
auf einem Touchpanel, so braucht er dieses nur antippen. Wählt er ein anderes
Gerät, z.B. weil die Benachrichtigung nur akustisch präsentiert wurde, er aber
mit einem Bildschirm arbeiten möchte, oder er hatte die Nachricht
zurückgestellt(s. grüner Pfad), dann kann er sich die Nachricht aus der
Nachrichtenzentrale auswählen.

\mysubsubsection{Schritte 2 bis 4: Anzeige der Nachricht}
\label{konzept:subsubsec:ablauf_interaktion_nachrichtanzeige}
Die Abfrage der gewählten Nachricht erfolgt in den Schritten 2 und 3. Zuerst
befragt das \smartHomeSystem das Benachrichtigungssystem, welches wiederum in
der Datenbank die Nachricht abruft. Dabei wird die Nachricht auch als "`gelesen"
markiert, um dies in der Nachrichtenzentrale
(\ref{konzept:sec:nachrichtenzentrale}) entsprechend anzeigen zu können. Sobald
die Nachricht beim \smartHomeSystem ankommt, wird diese im Schritt 4 auf dem
Interaktionsgerät dargestellt bzw. ausgegeben.

\mysubsubsection{Schritte 5 bis 7: Feedback über Dringlichkeit}
\label{konzept:subsubsec:ablauf_interaktion_feedback_dringlichkeit}
Der Benutzer hat zusätzlich die Möglichkeit eine persönliche Dringlichkeit für
die Nachricht zum Zeitpunkt der Benachrichtigung anzugeben, wie in Abschnitt
\ref{konzept:para:angabe_wichtigkeit_dringlichkeit_feedback} beschrieben. Dies
ist Schritt 5. In Schritt 6 und 7 wird die Eingabe des Benutzers vom
\smartHomeSystem an das Benachrichtigungssystem weitergegeben und von diesem in
der Datenbank gespeichert. Damit wäre der Pfad zur Anzeige einer Nachricht bis
hin zur eventuellen Angabe einer persönlichen Dringlichkeit beendet.

\mysubsubsection{Der grüne Pfad: Zurückstellen einer Nachricht}
\label{konzept:subsubsec:ablauf_interaktion_zurueckstellen}
Das Zurückstellen einer Nachrichten ist ein sehr einfacher Prozessablauf.
Aus diesem Grund wird dieser Pfad insgesamt beschrieben. Der Pfad
setzt nach Schritt 4 im roten Pfad ein und kann somit als alternativer Pfad zum
Benutzer-Feedback(ro"-te Schritte 5 bis 7, Abschnitt
\ref{konzept:subsubsec:ablauf_interaktion_feedback_dringlichkeit}) betrachtet
werden. Im ersten Schritt kann der Benutzer dem Benachrichtigungssystem
mitteilen, dass er die zur Benachrichtigung gehörige Nachricht zurückstellt, er
sie also später lesen, bzw. hören möchte. Darauf wird die Nachricht wieder
ausgeblendet, bzw. die akustische Ausgabe unterbrochen. Das \smartHomeSystem
leitet diese Entscheidung im zweiten Schritt an das Benachrichtigungssystem
weiter. Dieses speichert nun im letzten Schritt in der Datenbank, dass die
Nachricht später gelesen werden möchte. Dafür wird die Nachricht wieder als
"`ungelesen"' markiert.